﻿using Microsoft.Phone.Globalization;
using System;
using System.Collections;
using System.Collections.ObjectModel;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Phone.Maps.Toolkit;
using System.Windows.Markup;

namespace GoogleAPIOnWindowsPhone.Model
{
    [ContentProperty("Content")]
    //public sealed class _Pushpin : MapChildControl
    //{
    //    public _Pushpin();
    //    public ATMBoothList pushpindata { get; set; }
    //}
    public class ATMBoothList : INotifyPropertyChanged  
    {
        private string vicinity;
        private double longitude;
        private double latitude;
        private string name;
        private string type;
        private string shortname;
        public string Vicinity
        {
            get
            {
                return this.vicinity;
            }
            set
            {
                if (this.vicinity != value)
                {
                    this.vicinity = value;
                    this.NotifyPorpertyChanged("Vicinity");
                }
            }
        }

        
        public double Latitude
        {
            get
            {
                return this.latitude;
            }
            set
            {
                if (this.latitude != value)
                {
                    this.latitude = value;
                    this.NotifyPorpertyChanged("Latitude");
                }
            }
        }
        public double Longitude
        {
            get
            {
                return this.longitude;
            }
            set
            {
                if (this.longitude != value)
                {
                    this.longitude = value;
                    this.NotifyPorpertyChanged("Longitude");
                }
            }
        }
        public string Name
        {
            get
            {
                return this.name;
            }
            set
            {
                if (this.name != value)
                {
                    this.name = value;
                    this.NotifyPorpertyChanged("Name");
                }
            }
        }
       
        public string Types
        {
            get
            {
                return this.type;
            }
            set
            {
                if (this.type != value)
                {
                    this.type = value;
                    this.NotifyPorpertyChanged("Types");
                }
            }
        }
        public string ShortName
        {
            get
            {
                return this.shortname;
            }
            set
            {
                if (this.shortname!=value)
                {
                    this.shortname = value;
                    this.NotifyPorpertyChanged("ShortName");
                }
            }
        }


        public event PropertyChangedEventHandler PropertyChanged;
        private void NotifyPorpertyChanged(string p)
        {
            if (this.PropertyChanged != null)
            {
                this.PropertyChanged(this, new PropertyChangedEventArgs(p));
            }
        }

 
    }
    public class GeoCollection
    {
        public String Geo { get; set; }
    }
    public class TypeOFList
    {
        public string Types { get; set; }
        
    }
    public class Location
    {
        public double lat { get; set; }
        public double lng { get; set; }
    }

    public class Geometry
    {
        public Location location { get; set; }
    }

    public class Photo
    {
        public int height { get; set; }
        public List<string> html_attributions { get; set; }
        public string photo_reference { get; set; }
        public int width { get; set; }
    }

    public class OpeningHours
    {
        public bool open_now { get; set; }
    }

    public class Result
    {
        public Geometry geometry { get; set; }
        public string icon { get; set; }
        public string id { get; set; }
        public string name { get; set; }
        public List<Photo> photos { get; set; }
        public double rating { get; set; }
        public string reference { get; set; }
        public List<string> types { get; set; }
        public string vicinity { get; set; }
        public OpeningHours opening_hours { get; set; }
    }

    public class Area
    {
        public List<object> debug_info { get; set; }
        public List<object> html_attributions { get; set; }
        public string next_page_token { get; set; }
        public List<Result> results { get; set; }
        public string status { get; set; }
    }
    public class LocalityClass
    {
        public string Locality { get; set; }
        public double Latitude { get; set; }
        public double Longitude { get; set; }
    }
}
